step 1
copy the command in the description below and paste in on command block, then activate it.

/summon falling_block ~ ~2 ~ {Time:1,BlockState:{Name:"repeating_command_block",Properties:{"facing":"up"}},TileEntityData:{auto:1,Command:"execute as @e[name=Knightshield] run data merge entity @s {CustomName:'[{\"text\":\".\",\"color\":\"black\"}]',Health:20,Silent:1b,Attributes:[{Name:\"generic.attack_damage\",Base:6f},{Name:\"generic.max_health\",Base:20f}],CustomNameVisible:0b}"},Passengers:[{id:"armor_stand",Health:0,Passengers:[{id:"falling_block",Time:1,BlockState:{Name:"chain_command_block",Properties:{"facing":"up"}},TileEntityData:{auto:1,Command:"execute as @e[name=Knight] run data merge entity @s {CustomName:'[{\"text\":\"`\",\"color\":\"black\"}]',Health:20,Silent:1b,Attributes:[{Name:\"generic.attack_damage\",Base:6f},{Name:\"generic.max_health\",Base:20f}],CustomNameVisible:0b}"},Passengers:[{id:"armor_stand",Health:0}]}]}]}

.

step 2
Tame a wolf

.

step 3
rename the name tag
"Knight"
"Knightshield"
(warning:case sensitive)

.

step4
use the renamed name tag to your wolf

_______________________________________________________________

if you dont want command, then name your nametag to :

Knight(backtick) =  	`
Knightshield(point) =	.

why this you asked? so that the name was slightly invisible. 
because the name wont be on the top of their head but on their belly